﻿using Demo.Store.Application.Contracts.Store.Dto;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;

namespace Demo.Store.Application.Contracts.Store;

/// <summary>
/// 商城订单应用服务接口
/// </summary>
public interface IStoreOrderAppService : IApplicationService
{
    /// <summary>
    /// 创建订单
    /// </summary>
    /// <param name="input">输入对象</param>
    /// <returns>创建结果</returns>
    Task<bool> CreateAsync(StoreOrderCreateDto input);

    /// <summary>
    /// 分页查询订单列表
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    Task<PagedResultDto<StoreOrderDto>> GetListAsync(PagedAndSortedResultRequestDto input);

    /// <summary>
    /// 获取订单详情
    /// </summary>
    /// <param name="id">订单编号</param>
    /// <returns></returns>
    Task<StoreOrderDetailDto> GetAsync(Guid id);
}